home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / cmln1286.arc / BNCHMARK.ADA / ACKERMAN.ADA < prev    next >
Text File  |  1986-10-21  |  828b  |  40 lines

  1. --with TEXT_IO; use TEXT_IO;
  2.  
  3. procedure ACKERMAN is
  4.  
  5.     --
  6.     -- Ackerman benchmark
  7.     --     Source available from Mark Petersen's Alpo-Net FIDO board at
  8.     --     (619) 741-3412, 300/1200/2400 8,N,1
  9.     --
  10.  
  11.  
  12.     ------------------------------
  13.     -- declarations
  14.     ------------------------------
  15.  
  16.     x : integer;
  17.  
  18.     ------------------------------
  19.     -- ACK
  20.     ------------------------------
  21.  
  22.     function ACK(m : in integer; n : in integer ) return integer is
  23.  
  24.     begin
  25.         if m = 0 then
  26.            return n + 1;
  27.         elsif n = 0 then
  28.           return ack(m-1, 1);
  29.         else
  30.           return ack(m-1, ack(m, n-1));
  31.         end if;
  32.     end;
  33.  
  34. begin
  35.     for i in 1..10 loop
  36.       x := ack(3, 6);
  37. --      put_line("x =" & integer'image(x));
  38.     end loop;
  39. end ACKERMAN;
  40.